module.exports = async (ctx, next) => {
  ctx.params = {
    ...ctx.request.body,
    ...ctx.query
  };

  for (let key in ctx.params) {
    let value = ctx.params[key];
    // 转布尔
    if (value === 'true') {
      ctx.params[key] = true;
    } else if (value === 'false') {
      ctx.params[key] = false;
    }
    // 转数字
    let numValue =  Number(value);
    if (!isNaN(numValue)) {
      ctx.params[key] = numValue;
    }
  }

  await next();
};
